YPBIND(8) | ypbind-mt | YPBIND(8) |
NAME¶
ypbind - NIS binding process
SYNOPSIS¶
ypbind [-broadcast | -ypset | -ypsetme] [-c] [-f configfile] [-no-ping] [-broken-server] [-local-only] [-i | -ping-interval ping-interval] [-r | -rebind-interval rebind-interval] [-d | -debug] [-v | -verbose] [-n | -foreground] [-p port] [-log log-options] [-no-dbus]
ypbind --version
ypbind --help
DESCRIPTION¶
ypbind finds the server for NIS domains and maintains the NIS binding information. The client (normally the NIS routines in the standard C library) could get the information over RPC from ypbind or read the binding files. The binding files resides in the directory /var/yp/binding and are conventionally named [domainname].[version]. The supported versions are 1 and 2. There could be several such files since it is possible for an NIS client to be bound to more than one domain.
After a binding has been established, ypbind will send YPPROC_DOMAIN requests to the current NIS server at 20 seconds intervals. If it doesn't get an response or the NIS server reports that he doesn't have this domain any longer, ypbind will search for a new NIS server. All 15 minutes ypbind will check to see if the current NIS server is the fastest. If it find a server which answers faster, it will switch to this server. You could tell ypbind to use network broadcasts to find a new server, what is insecure, or you could give it a list of known secure servers. In this case ypbind will send a ping to all servers and binds to first one which answers.
Unless the option -debug is used, ypbind detaches itself from the controlling terminal and puts itself into background. ypbind uses syslog(3) for logging errors and warnings. At startup or when receiving signal SIGHUP, ypbind parses the file /etc/yp.conf and tries to use the entries for its initial binding.
A broadcast entry in the configuration file will overwrite a ypserver/server entry and a ypserver/server entry broadcast. If all given server are down, ypbind will not switch to use broadcast. ypbind will try at first /etc/hosts and then DNS for resolving the hosts names from /etc/yp.conf. If ypbind couldn't reconfigure the search order, it will use only DNS. If DNS isn't available, you could only use IP-addresses in /etc/hosts. ypbind could only reconfigure the search order with glibc 2.x. If the -broadcast option is specified, ypbind will ignore the configuration file. If the file does not exist or if there are no valid entries, ypbind exit.
This ypbind version listens for DBUS messages from NetworkManager. If no NetworkManager is running at startup, ypbind will behave as usual and assumes there is a working network connection. If NetworkManager is running on the system, ypbind will only search and provide NIS informations, if NetworkManager tells that a network connection is available. If NetworkManager establishes a connection, ypbind will reread all configuration files, registers at the local portmapper and try to search NIS servers. If NetworkManager drops a connection, ypbind will unregister from portmapper.
In Fedora we use systemd for starting services. We need to finish starting process of ypbind service not before service is fully started, which means ypbind daemon is prepared to answer. There is a test script /usr/libexec/ypbind-post-waitbind used in ypbind.service, that waits for ypbind daemon to be fully connected to NIS server and waits by default up to 45s. Sometimes this is not enough, because network set up can take longer than 45s during boot, so starting ypbind.service fails. User can increase the timeout by setting an environment variable NISTIMEOUT in /etc/sysconfig/ypbind. For example NISTIMEOUT=180 means ypbind will wait up to 180 seconds for binding to a NIS server. Another option is to enable NetworkManager-wait-online.service and add an ordering rule into ypbind.service, ideally by creating /etc/systemd/system/ypbind.service with the following content:
.include /lib/systemd/system/ypbind.service
[Service]
After=NetworkManager-wait-online.service
OPTIONS¶
-broadcast
-ypset
-ypsetme
-c
-d, -debug
-n, -foreground
-v, -verbose
-broken-server
-no-ping
-f configfile
-local-only
-p port
-i, -ping-interval ping-interval
-r, -rebind-interval rebind-interval
-log log-options
-no-dbus
--version
FILES¶
/etc/yp.conf
/var/yp/binding/[domainname].[version]
/var/run/ypbind.pid
SEE ALSO¶
syslog(3), domainname(1), yp.conf(5), ypdomainname(8), ypwhich(1), ypserv(8), ypset(8)
AUTHOR¶
ypbind-mt was written by Thorsten Kukuk <kukuk@thkukuk.de>.
04/09/2013 | ypbind-mt |